package Merlion.util.state;

import Merlion.CRM.entity.PricebookEntity;
import java.io.Serializable;
import java.util.List;

public class ProductState implements Serializable {

    private Long id;
    private String itemName;
    private String description;
    private int shelfLife;
    private double caseWeight;
    private int productionRate;
    private double price;//basePrice
    private double listPrice;
    private double limitPrice;
    private int inHandQty;
    private int reservedQty;
    private List<PricebookEntity> pricebookList;

    public ProductState(Long id, String itemName, String description, double price, double listPrice,
            double limitPrice, List<PricebookEntity> pricebookList) {
        this.setId(id);
        this.setItemName(itemName);
        this.setPrice(price);
        this.setLimitPrice(limitPrice);
        this.setListPrice(listPrice);
        this.setDescription(description);
        this.setPricebookList(pricebookList);
    }

    public ProductState(Long id, String itemName, String description, int shelfLife, double caseWeight,
            double price, int productionRate, double listPrice, double limitPrice) {
        this.setId(id);
        this.setItemName(itemName);
        this.setDescription(description);
        this.setShelfLife(shelfLife);
        this.setCaseWeight(caseWeight);
        this.setPrice(price);
        this.setProductionRate(productionRate);
        this.setListPrice(listPrice);
        this.setLimitPrice(limitPrice);

    }

    public List<PricebookEntity> getPricebookList() {
        return pricebookList;
    }

    public void setPricebookList(List<PricebookEntity> pricebookList) {
        this.pricebookList = pricebookList;
    }

    public double getLimitPrice() {
        return limitPrice;
    }

    public void setLimitPrice(double limitPrice) {
        this.limitPrice = limitPrice;
    }

    public double getListPrice() {
        return listPrice;
    }

    public void setListPrice(double listPrice) {
        this.listPrice = listPrice;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double getCaseWeight() {
        return caseWeight;
    }

    public void setCaseWeight(double caseWeight) {
        this.caseWeight = caseWeight;
    }

    public int getInHandQty() {
        return inHandQty;
    }

    public void setInHandQty(int inHandQty) {
        this.inHandQty = inHandQty;
    }

    public int getProductionRate() {
        return productionRate;
    }

    public void setProductionRate(int productionRate) {
        this.productionRate = productionRate;
    }

    public int getReservedQty() {
        return reservedQty;
    }

    public void setReservedQty(int reservedQty) {
        this.reservedQty = reservedQty;
    }

    public int getShelfLife() {
        return shelfLife;
    }

    public void setShelfLife(int shelfLife) {
        this.shelfLife = shelfLife;
    }
}